// ⚠️  此文件已废弃 - This file is deprecated
// 统一的配置接口已迁移至 ConfigurationAppServiceInterfaces.cs
// Unified configuration interfaces have been migrated to ConfigurationAppServiceInterfaces.cs
//
// 为了向后兼容保留此文件，建议新代码使用统一接口文件中的定义
// This file is kept for backward compatibility. New code should use the unified interface.

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Matrix.Configuration.DTOs;

namespace Matrix.Configuration.Services
{
    /// <summary>
    /// 配置事件调试服务接口（已废弃）
    /// 请使用 ConfigurationAppServiceInterfaces.cs 中的统一接口
    /// </summary>
    [Obsolete("此接口已废弃，请使用 ConfigurationAppServiceInterfaces.cs 中的 Matrix.Configuration.Contracts.IConfigurationEventDebugAppService", false)]
    public interface IConfigurationEventDebugAppService : IApplicationService
    {
        Task<List<EventDebugDto>> GetRecentEventsAsync(int count = 50, string? eventType = null);
        Task<EventDebugDto> GetEventByIdAsync(Guid eventId);
        Task<EventReplayResultDto> ReplayEventAsync(Guid eventId);
        Task<EventStatisticsDto> GetEventStatisticsAsync();
        Task<List<EventDebugDto>> GetConfigurationHistoryAsync(string key, string @namespace = "", int maxCount = 50);
        Task<EventPerformanceStatsDto> GetPerformanceStatsAsync(string? eventType = null, int hours = 24);
    }
}